#pragma once
#include <list>
#include "obj_interface/ObjFactory.h"


class Scene
{
public:
	enum SceneState
	{
		SCENE_STATE_INIT = 0,
		SCENE_STATE_LOAD,
		SCENE_STATE_RUN,
	};
	
	typedef std::list<CommonObject*> ObjectList;
	
	Scene(void);
	~Scene(void);

	bool Init();
	void Update();
	void Paint();

	void Load();
	void UnLoad();

	void ObjectList_Update();
	void ObjectList_Sort();
	void ObjectList_Paint();

	friend int IsFarThan(CommonObject* lp, CommonObject* rp);

private:
	SceneState m_currentState;
	bool m_bLoadOver;

private:
	ObjectList m_objList;
};


int IsFarThan(CommonObject* lp, CommonObject* rp);